const router = require('express').Router();
const itemModel = require('../model/collections/item');
const dayjs = require('dayjs');

// 商品列表
router.get('/itemLists',async (req, res) => {
  // page和pageSize
  let { page = 1, pageSize = 2 } = req.query;
  // 将参数转换成number累心
  page = parseInt(page);
  pageSize = parseInt(pageSize);
  // 返回一页商品
  const items = await itemModel.find().limit(pageSize).skip((page-1)*pageSize).sort({
    _id: -1
  })
  // 商品总条数
  const counts = await itemModel.count();

  res.render('itemLists',{
    items,
    counts,
    page
  })
})
// 新增商品页
router.get('/itemAdd', (req, res) => {
  res.render('itemAdd')
})
// 更新商品页
router.get('/itemUpdate', (req, res) => {
  // 根据传的id 获取  商品详情 
  const { _id } = req.query;
  itemModel.findById(_id).then(item => {
    res.render('itemUpdate', {
      item
    })
  }).catch(err => {
    res.render('itemUpdate', {
      item: {}
    })
  })
  
})

// 新增商品路由
router.post('/addItem', (req,res) => {
  let items = req.body;
  // 定义创建时间
  const now = Date.now();
  items.createAt = dayjs(now).format('YYYY-MM-DD HH:mm:ss');
  itemModel.insertMany(req.body).then(ret=> {
    res.send({
      code: 0,
      msg: '增加商品成功'
    })
  }).catch(err => {
    res.send({
      code: -1,
      msg: '增加商品失败'
    })
  })
})
// 商品更新路由
router.post('/itemUpdate', (req, res) => {
  itemModel.updateOne(
    {
      _id: req.body._id
    },
    req.body
  ).then(ret=> {
    res.send({
      code: 0,
      msg: '修改成功'
    })
  }).catch(err => {
    res.send({
      code: -1,
      msg: '修改失败'
    })
  })
})
// 删除商品
router.get('/delItem', (req, res) =>{
  itemModel.deleteOne({
    _id: req.query._id
  }).then(ret=> {
    res.send({
      code: 0,
      msg: '删除成功'
    })
  }).catch(err=> {
    res.send({
      code: -1,
      msg: '修改失败'
    })
  })
})
// 设置
router.get('/settings', (req, res) => {
  res.render('settings')
})
module.exports = router;